.resource-management-page { position: relative; display: grid; flex: 1 1 0; align-self: stretch; grid-template-columns: minmax(220px, 0.82fr) minmax(280px, 1fr) minmax(300px, 1.08fr); gap: 16px; width: 100%; min-width: 0; height: 100%; min-height: 0; overflow: hidden; -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; } .resource-management-page input, .resource-management-page textarea, .resource-management-page [contenteditable='true'], .resource-management-page .ant-input, .resource-management-page .ant-input textarea, .resource-management-page .ant-input-affix-wrapper, .resource-management-page .ant-tabs-tab-btn, .resource-management-page .markdown-preview a, .resource-management-page .markdown-preview code, .resource-management-page .markdown-preview pre code { user-select: text; -webkit-user-select: text; } .resource-management-page__mobile-nav, .resource-management-page__mobile-card { display: none; } .resource-management-page__sidebar, .resource-management-page__content, .resource-management-page__preview-card { width: 100%; max-width: 100%; min-width: 0; min-height: 0; border-radius: 22px; overflow: clip; box-sizing: border-box; } .resource-management-page__sidebar.ant-card, .resource-management-page__content.ant-card, .resource-management-page__preview-card.ant-card { display: flex; flex-direction: column; min-height: 0; border: 0; box-shadow: inset 0 0 0 1px rgba(191, 204, 229, 0.92), 0 16px 40px rgba(15, 23, 42, 0.08); } .resource-management-page__sidebar .ant-card-head, .resource-management-page__content .ant-card-head, .resource-management-page__preview-card .ant-card-head { min-height: 58px; min-width: 0; } .resource-management-page__sidebar .ant-card-head-wrapper, .resource-management-page__content .ant-card-head-wrapper, .resource-management-page__preview-card .ant-card-head-wrapper, .resource-management-page__sidebar .ant-card-head-title, .resource-management-page__content .ant-card-head-title, .resource-management-page__preview-card .ant-card-head-title, .resource-management-page__sidebar .ant-card-extra, .resource-management-page__content .ant-card-extra, .resource-management-page__preview-card .ant-card-extra { min-width: 0; } .resource-management-page__sidebar .ant-card-body, .resource-management-page__content .ant-card-body, .resource-management-page__preview-card .ant-card-body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 12px; padding: 16px; min-height: 0; height: auto; } .resource-management-page__card-title { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .resource-management-page__card-title-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__card-title-subtitle { overflow: hidden; color: #6b7280; font-size: 12px; font-weight: 500; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__scope-copy { display: block; } .resource-management-page__tree { flex: 1; min-height: 0; overflow: auto; padding-block: 14px 18px; padding-right: 4px; scrollbar-gutter: stable; } .resource-management-page__tree-region, .resource-management-page__list-shell { outline: none; } .resource-management-page__tree-region { display: flex; flex: 1 1 auto; min-height: 0; border-radius: 18px; } .resource-management-page__keyboard-region--active, .resource-management-page__tree-region:focus-visible, .resource-management-page__list-shell:focus-visible { box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.36); } .resource-management-page__tree .ant-tree-node-content-wrapper { width: 100%; border-radius: 12px; font-size: 13px; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; } .resource-management-page__tree-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-width: 0; overflow: hidden; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; } .resource-management-page__tree-title .ant-btn { flex: 0 0 auto; } .resource-management-page__content { min-height: 0; } .resource-management-page__preview-card { min-height: 0; } .resource-management-page__workspace { display: flex; flex: 1; flex-direction: column; gap: 12px; min-height: 0; overflow: hidden; } .resource-management-page__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; min-width: 0; } .resource-management-page__toolbar-main, .resource-management-page__toolbar-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .resource-management-page__toolbar-main { flex: 1 1 260px; min-width: 0; } .resource-management-page__toolbar-status { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .resource-management-page__toolbar-search-group { display: flex; flex: 1 1 228px; min-width: 0; gap: 0; } .resource-management-page__toolbar-actions { flex: 0 1 auto; justify-content: flex-end; } .resource-management-page__toolbar-path { min-width: min(100%, 320px); flex: 1 1 240px; } .resource-management-page__toolbar-search { flex: 1 1 auto; min-width: 0; } .resource-management-page__toolbar-search-button.ant-btn, .resource-management-page__toolbar-actions .ant-btn { flex: 0 0 auto; width: 40px; min-width: 40px; padding-inline: 0; } .resource-management-page__toolbar-path .ant-typography { display: block; margin-bottom: 0; } .resource-management-page__filter-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid #dbe4f4; border-radius: 999px; background: #f8fbff; color: #64748b; font-size: 12px; font-weight: 600; line-height: 1; } .resource-management-page__filter-badge--active { border-color: rgba(37, 99, 235, 0.22); background: rgba(219, 234, 254, 0.9); color: #1d4ed8; } .resource-management-page__filter-summary { color: #64748b; font-size: 12px; } .resource-management-page__guide { margin: 0; } .resource-management-page__list-shell { display: flex; flex: 1; flex-direction: column; min-height: 0; border: 0; border-radius: 18px; background: linear-gradient(180deg, rgba(249, 251, 255, 0.96), rgba(241, 246, 255, 0.92)), #fff; box-shadow: inset 0 0 0 1px #dfe6f4; overflow: clip; box-sizing: border-box; -webkit-touch-callout: none; } .resource-management-page__list-header, .resource-management-page__list-row { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(116px, 0.95fr) minmax(72px, 0.5fr) 72px; gap: 12px; align-items: center; } .resource-management-page__list-header { padding: 12px 16px; border-bottom: 1px solid #e9eef8; color: #6b7280; font-size: 12px; font-weight: 600; } .resource-management-page__list-header-button, .resource-management-page__list-header-action { display: inline-flex; align-items: center; gap: 6px; min-width: 0; } .resource-management-page__list-header-button { justify-content: flex-start; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; } .resource-management-page__list-header-button:hover, .resource-management-page__list-header-button:focus-visible { color: #1d4ed8; } .resource-management-page__list-header-button--active { color: #1d4ed8; } .resource-management-page__list-header-sort-icon { display: inline-flex; align-items: center; justify-content: center; width: 12px; min-width: 12px; color: currentColor; font-size: 10px; } .resource-management-page__list-header-action { justify-content: center; } .resource-management-page__list-body { flex: 1; min-height: 0; overflow: auto; padding-block: 14px 18px; scrollbar-gutter: stable; } .resource-management-page__list-row { padding: 14px 16px; font-size: 13px; border-bottom: 1px solid #eef2fa; cursor: pointer; transition: background-color 0.18s ease, transform 0.18s ease; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; } .resource-management-page__list-row:hover { background: rgba(222, 234, 255, 0.42); } .resource-management-page__list-row--selected { background: linear-gradient(180deg, rgba(213, 228, 255, 0.96), rgba(190, 214, 255, 0.98)); box-shadow: inset 4px 0 0 #2563eb, inset 0 0 0 1px rgba(37, 99, 235, 0.18); } .resource-management-page__list-row--parent { background: linear-gradient(180deg, rgba(247, 250, 255, 0.98), rgba(242, 246, 255, 0.98)); color: #334155; } .resource-management-page__list-row--parent .resource-management-page__entry-icon { color: #1d4ed8; } .resource-management-page__list-row--parent .resource-management-page__entry-name-text { font-weight: 500; } .resource-management-page__list-row--parent-selected { background: linear-gradient(180deg, rgba(213, 228, 255, 0.96), rgba(190, 214, 255, 0.98)); box-shadow: inset 4px 0 0 #2563eb, inset 0 0 0 1px rgba(37, 99, 235, 0.18); } .resource-management-page__list-row--parent-selected .resource-management-page__entry-icon, .resource-management-page__list-row--parent-selected .resource-management-page__entry-name-text { color: #1e3a8a; } .resource-management-page__list-name, .resource-management-page__entry-name { display: flex; align-items: center; gap: 8px; flex: 1 1 auto; min-width: 0; overflow: hidden; } .resource-management-page__entry-name-stack { display: flex; flex-direction: column; min-width: 0; } .resource-management-page__entry-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 20px; color: #476182; font-size: 18px; } .resource-management-page__entry-branch-count { flex: 0 0 auto; padding: 1px 6px; border-radius: 999px; background: rgba(219, 234, 254, 0.92); color: #1d4ed8; font-size: 11px; font-weight: 700; line-height: 1.4; } .resource-management-page__list-meta { display: contents; } .resource-management-page__list-meta > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__modified-at { display: inline-flex; align-items: center; gap: 0.4ch; min-width: 0; } .resource-management-page__modified-at > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__entry-name-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__entry-context-text { overflow: hidden; color: #64748b; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__preview-card .ant-card-body { display: flex; flex-direction: column; gap: 12px; min-height: 0; overflow: hidden; padding-bottom: 17px; } .resource-management-page__preview-title-file { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__preview-meta { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 10px; min-width: 0; } .resource-management-page__preview-meta .ant-typography { display: block; flex: 1 1 auto; min-width: 0; max-width: 100%; margin-bottom: 0; overflow-wrap: anywhere; word-break: break-word; } .resource-management-page__preview-copy { flex: 0 1 auto; } .resource-management-page__preview-meta .ant-typography-copy { overflow-wrap: anywhere; word-break: break-word; } .resource-management-page__preview-tabs { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 0; } .resource-management-page__preview-tabs .ant-tabs-nav { margin-bottom: 10px; flex: 0 0 auto; } .resource-management-page__preview-tabs .ant-tabs-nav-wrap, .resource-management-page__preview-tabs .ant-tabs-nav-list { min-width: 0; } .resource-management-page__preview-tabs .ant-tabs-content-holder, .resource-management-page__preview-tabs .ant-tabs-content, .resource-management-page__preview-tabs .ant-tabs-tabpane { min-height: 0; height: 100%; } .resource-management-page__preview-tabs .ant-tabs-content-holder { flex: 1 1 auto; overflow: hidden; } .resource-management-page__preview-tabs .ant-tabs-tabpane-active { display: flex; flex-direction: column; } .resource-management-page__tab-panel { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; } .resource-management-page__editor-panel { gap: 12px; overflow: hidden; padding-bottom: 2px; } .resource-management-page__editor.ant-input { flex: 1 1 auto; min-height: 0; height: 100% !important; padding-bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 10px)); resize: none; } .resource-management-page__editor-actions { flex: 0 0 auto; align-items: center; } .resource-management-page__preview-frame { width: 100%; min-height: 0; flex: 1; border: 0; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px #d9e1f2; box-sizing: border-box; } .resource-management-page__video-preview { width: 100%; min-height: 0; flex: 1; border: 0; border-radius: 16px; background: #0b1220; box-shadow: inset 0 0 0 1px #d9e1f2; box-sizing: border-box; } .resource-management-page__html-preview { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; min-height: 0; width: 100%; overflow: hidden; } .resource-management-page__html-preview > .resource-management-page__rich-preview { width: 100%; min-height: 0; } .resource-management-page__html-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 0; margin-left: auto; min-width: 0; } .resource-management-page__html-mode-button.ant-btn { width: 100%; min-width: 0; } .resource-management-page__text-preview { flex: 1; min-height: 0; margin: 0; padding: 16px; overflow: auto; scrollbar-gutter: stable; border: 0; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px #d9e1f2; box-sizing: border-box; color: #111827; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; font-size: 13px; line-height: 1.6; white-space: pre-wrap; word-break: break-word; } .resource-management-page__rich-preview { display: flex; flex: 1 1 auto; min-width: 0; min-height: 0; overflow: auto; scrollbar-gutter: stable; border: 0; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px #d9e1f2; box-sizing: border-box; } .resource-management-page__rich-preview--markdown { position: relative; display: flex; overflow: hidden; padding: 0; contain: layout paint; isolation: isolate; } .resource-management-page__markdown-scroll-viewport { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: none; overscroll-behavior-y: contain; scrollbar-gutter: stable; padding: 16px; box-sizing: border-box; touch-action: pan-y; transform: translateZ(0); } .resource-management-page__rich-preview--markdown .markdown-preview { width: 100%; min-width: 0; min-height: 100%; margin-bottom: 0; overflow: visible; padding: 0; box-sizing: border-box; overflow-wrap: anywhere; word-break: break-word; } .resource-management-page__rich-preview--markdown .markdown-preview > :last-child { margin-bottom: 0; } .resource-management-page__rich-preview--markdown .markdown-preview p, .resource-management-page__rich-preview--markdown .markdown-preview li, .resource-management-page__rich-preview--markdown .markdown-preview a, .resource-management-page__rich-preview--markdown .markdown-preview code { overflow-wrap: anywhere; word-break: break-word; } .resource-management-page__rich-preview--markdown .markdown-preview code { white-space: pre-wrap; } .resource-management-page__rich-preview--code { background: #0f172a; } .resource-management-page__rich-preview--code .previewer-ui__editor, .resource-management-page__rich-preview--code .codex-diff-previewer { flex: 1 1 auto; min-height: 0; height: 100%; border-radius: 16px; } .resource-management-page__rich-preview--code .previewer-ui__editor-body, .resource-management-page__rich-preview--code .codex-diff-previewer__diff-body, .resource-management-page__rich-preview--code .codex-diff-previewer__diff-section--expanded .codex-diff-previewer__diff-body { max-height: none; } .resource-management-page__rich-preview--table { padding: 16px; } .resource-management-page__rich-preview--table .app-chat-panel__preview-table { width: 100%; } .resource-management-page__rich-preview--table .app-chat-panel__preview-table-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; } .resource-management-page__rich-preview--table .app-chat-panel__preview-table-scroll { overflow: auto; border: 1px solid rgba(148, 163, 184, 0.24); border-radius: 18px; background: rgba(255, 255, 255, 0.92); } .resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid { width: 100%; min-width: max-content; border-collapse: separate; border-spacing: 0; font-size: 13px; line-height: 1.5; } .resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid th, .resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(226, 232, 240, 0.92); white-space: pre-wrap; word-break: break-word; } .resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid th { position: sticky; top: 0; z-index: 1; background: #eff6ff; color: #1e3a8a; font-weight: 700; } .resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid tbody tr:nth-child(even) td { background: rgba(248, 250, 252, 0.82); } .resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid tbody tr:last-child td { border-bottom: 0; } .resource-management-page__image-preview { width: 100%; max-height: 100%; object-fit: contain; border: 0; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px #d9e1f2; box-sizing: border-box; } .resource-management-page__zoom-shell, .resource-management-page__preview-modal-body { display: flex; flex: 1; min-height: 0; } .resource-management-page__zoom-shell { align-items: center; justify-content: center; overflow: clip; border: 0; border-radius: 16px; background: #0b1220; box-shadow: inset 0 0 0 1px #d9e1f2; box-sizing: border-box; scrollbar-gutter: stable both-edges; } .resource-management-page__zoom-shell--touch-zoom { touch-action: none; overscroll-behavior: contain; } .resource-management-page__zoom-shell--image { padding: 16px; } .resource-management-page__image-preview--zoomable { width: 100%; height: 100%; object-fit: contain; border: 0; border-radius: 0; transform-origin: center center; will-change: transform; } .resource-management-page__frame-zoom-shell { width: 100%; min-width: 100%; height: 100%; min-height: 100%; overflow: hidden; transform-origin: center center; will-change: transform; } .resource-management-page__preview-frame--zoomable { min-width: 100%; min-height: 100%; border: 0; border-radius: 0; transform-origin: center center; pointer-events: none; } .resource-management-page__preview-modal-toolbar { display: flex; align-items: center; justify-content: stretch; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgba(217, 225, 242, 0.9); background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(14px); flex: 0 0 auto; min-height: 72px; box-sizing: border-box; } .resource-management-page__preview-modal-toolbar-slider { flex: 1 1 auto; min-width: 0; } .resource-management-page__preview-modal-toolbar-slider .ant-slider { margin: 0; } .resource-management-page__preview-modal-toolbar-button { width: 44px; min-width: 44px; height: 44px; padding-inline: 0; flex: 0 0 44px; } .resource-management-page__preview-modal-toolbar-value { flex: 0 0 56px; width: 56px; text-align: center; font-variant-numeric: tabular-nums; } .resource-management-page__preview-modal-body { overflow: hidden; background: #0b1220; overscroll-behavior: none; } .resource-management-page__preview-modal-shell { display: flex; flex-direction: column; height: 100%; min-height: 0; overscroll-behavior: none; } .resource-management-page__preview-modal-shell .resource-management-page__preview-modal-body { flex: 1 1 auto; min-height: 0; padding: 0; } .resource-management-page__editor { min-height: 260px; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; } .resource-management-page__empty { display: flex; align-items: center; justify-content: center; min-height: 160px; padding: 24px 16px; } .resource-management-page__context-menu { position: fixed; z-index: 1200; display: flex; flex-direction: column; min-width: 208px; padding: 8px; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 16px; background: rgba(255, 255, 255, 0.98); box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16); backdrop-filter: blur(18px); } .resource-management-page__context-menu-backdrop { position: fixed; inset: 0; z-index: 1199; background: transparent; } .resource-management-page__context-menu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border: 0; border-radius: 12px; background: transparent; color: #111827; font: inherit; text-align: left; } .resource-management-page__context-menu button:hover { background: rgba(222, 234, 255, 0.42); } .resource-management-page__context-menu button.danger { color: #b42318; } .resource-management-page__context-menu button.danger:hover { background: rgba(254, 226, 226, 0.72); } .resource-management-page__file-input { position: fixed; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; pointer-events: none; inset: auto auto -100vh -100vw; } .resource-management-page--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr); } .resource-management-page--compact > .resource-management-page__preview-card { display: none; } .resource-management-page--compact .resource-management-page__modified-at { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.25; } .resource-management-page--compact.resource-management-page--has-preview > .resource-management-page__sidebar { display: none; } .resource-management-page--compact.resource-management-page--has-preview > .resource-management-page__preview-card { display: flex; } @media (max-width: 1180px) { } @media (max-width: 768px) { .resource-management-page { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 0; flex: 1 1 0; align-content: stretch; width: 100%; height: 100%; min-height: 0; overflow: hidden; } .resource-management-page--mobile { flex: 1 1 auto !important; align-self: stretch; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); width: 100%; height: 100%; min-height: 0; max-height: 100%; padding: 0; box-sizing: border-box; overflow: hidden; } .resource-management-page--mobile > .resource-management-page__sidebar, .resource-management-page--mobile > .resource-management-page__content, .resource-management-page--mobile > .resource-management-page__preview-card { display: none; } .resource-management-page__mobile-nav { position: sticky; top: 0; z-index: 3; display: grid; grid-row: 1; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; flex: 0 0 auto; padding: 4px 10px 1px; border-radius: 0; background: #eef4ff; box-shadow: none; backdrop-filter: blur(12px); } .resource-management-page__mobile-card { display: flex; grid-row: 2; grid-column: 1 / -1; flex: 1 1 0; min-height: 0; height: 100%; max-height: 100%; overflow: hidden; box-sizing: border-box; } .resource-management-page__mobile-card > .ant-card { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; height: 100%; max-height: 100%; border: 0; border-top: 0; border-radius: 0; overflow: hidden; box-shadow: none; } .resource-management-page__mobile-card > .ant-card .ant-card-body { flex: 1 1 auto; min-height: 0; overflow: hidden; } .resource-management-page__mobile-nav-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: 100%; min-width: 0; min-height: 36px; padding: 6px 6px; border: 0; border-radius: 14px; background: transparent; color: #52607a; font: inherit; font-size: 11px; font-weight: 600; transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease; } .resource-management-page__mobile-nav-button:disabled { color: #9aa4b2; } .resource-management-page__mobile-nav-button--active { background: #ffffff; color: #0f172a; box-shadow: inset 0 0 0 1px rgba(186, 209, 255, 0.92), 0 6px 18px rgba(148, 163, 184, 0.18); } .resource-management-page__mobile-nav-button-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-size: 16px; } .resource-management-page__mobile-nav-button-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .resource-management-page__sidebar .ant-card-body, .resource-management-page__content .ant-card-body, .resource-management-page__preview-card .ant-card-body { padding: 16px; padding-bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) + 10px)); overflow: hidden; } .resource-management-page__sidebar .ant-card-head, .resource-management-page__content .ant-card-head, .resource-management-page__preview-card .ant-card-head { min-height: 54px; padding-inline: 16px; padding-top: 8px; padding-bottom: 6px; } .resource-management-page__sidebar .ant-card-head-title, .resource-management-page__content .ant-card-head-title, .resource-management-page__preview-card .ant-card-head-title { padding: 0; } .resource-management-page__list-header { grid-template-columns: minmax(0, 1fr) 56px; grid-template-areas: 'name action' 'modified size'; row-gap: 6px; padding: 12px 16px 10px; } .resource-management-page__list-header-button[data-sort-key='name'] { grid-area: name; } .resource-management-page__list-header-button[data-sort-key='modifiedAt'] { grid-area: modified; } .resource-management-page__list-header-button[data-sort-key='size'] { grid-area: size; } .resource-management-page__list-header-action { grid-area: action; justify-self: end; } .resource-management-page__list-shell { flex: 1 1 auto; min-height: 0; max-height: none; overflow: hidden; } .resource-management-page__list-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding-block: 14px calc(env(safe-area-inset-bottom, 0px) + 18px); } .resource-management-page__list-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'name actions' 'meta meta'; row-gap: 4px; padding: 14px 16px; } .resource-management-page__list-name { grid-area: name; } .resource-management-page__list-meta { grid-area: meta; display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: #6b7280; } .resource-management-page__list-meta span { font-size: 12px; } .resource-management-page__list-header-button, .resource-management-page__list-header-action { font-size: 11px; } .resource-management-page__list-row > .ant-space { grid-area: actions; justify-self: end; } .resource-management-page__context-menu { min-width: min(208px, calc(100vw - 24px)); } .resource-management-page__tree { padding-block: 14px calc(env(safe-area-inset-bottom, 0px) + 20px); padding-right: 0; } .resource-management-page__tree .ant-tree-treenode, .resource-management-page__tree .ant-tree-node-content-wrapper { width: 100%; min-width: 0; } .resource-management-page__tree .ant-tree-treenode { align-items: center; } .resource-management-page__tree .ant-tree-node-content-wrapper { padding-block: 6px; font-size: 13px; } .resource-management-page__tree-title { gap: 6px; } .resource-management-page__entry-icon { width: 22px; font-size: 19px; } .resource-management-page__entry-name { gap: 6px; } .resource-management-page__entry-name-text { font-size: 13px; } .resource-management-page__entry-branch-count { padding: 2px 8px; font-size: 12px; } .resource-management-page__tree .ant-tree-switcher { display: inline-flex; align-items: center; justify-content: center; align-self: center; flex: 0 0 auto; min-height: 100%; } .resource-management-page__toolbar { align-items: stretch; } .resource-management-page__toolbar-main, .resource-management-page__toolbar-actions { width: 100%; } .resource-management-page__toolbar-main { display: contents; } .resource-management-page__toolbar-search-group { flex: 1 1 100%; } .resource-management-page__toolbar-search { flex: 1 1 auto; } .resource-management-page__toolbar-search-button.ant-btn { width: 44px; min-width: 44px; } .resource-management-page__toolbar-path { display: none; } .resource-management-page__toolbar-actions .ant-btn { width: 44px; min-width: 44px; } .resource-management-page__preview-meta { flex-direction: column; align-items: stretch; gap: 6px; } .resource-management-page__preview-meta .ant-typography, .resource-management-page__preview-copy, .resource-management-page__html-mode-switch { width: 100%; max-width: 100%; } .resource-management-page__preview-frame, .resource-management-page__video-preview, .resource-management-page__image-preview, .resource-management-page__text-preview, .resource-management-page__rich-preview { min-height: 0; } .resource-management-page__html-mode-switch { margin-left: 0; width: 100%; } .resource-management-page__html-mode-button.ant-btn { flex: 1 1 0; min-width: 0; } .resource-management-page__preview-tabs .ant-tabs-nav-list { width: 100%; } .resource-management-page__preview-tabs .ant-tabs-tab { flex: 1 1 0; justify-content: center; min-width: 0; margin: 0; } .resource-management-page__preview-tabs .ant-tabs-tab-btn { justify-content: center; width: 100%; } .resource-management-page__editor { min-height: 0; height: 100%; } .resource-management-page__preview-card .ant-tabs, .resource-management-page__preview-card .ant-tabs-content-holder, .resource-management-page__preview-card .ant-tabs-content, .resource-management-page__preview-card .ant-tabs-tabpane { min-height: 0; height: 100%; } .resource-management-page__preview-card .ant-tabs-content-holder { overflow: hidden; padding-bottom: 0; box-sizing: border-box; } .resource-management-page__preview-card .ant-tabs-tabpane-active { display: flex; flex-direction: column; } .resource-management-page__editor-panel { padding-bottom: 0; } .resource-management-page__tree, .resource-management-page__list-body, .resource-management-page__text-preview, .resource-management-page__rich-preview { scroll-padding-bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) + 10px)); } .resource-management-page__editor-actions { flex-wrap: wrap; justify-content: space-between; gap: 8px; } .resource-management-page--panel-preview .resource-management-page__preview-card .ant-card-body { gap: 8px; } .resource-management-page--panel-tree .resource-management-page__sidebar, .resource-management-page--panel-list .resource-management-page__content, .resource-management-page--panel-preview .resource-management-page__preview-card { box-shadow: inset 0 0 0 1px rgba(191, 204, 229, 0.9); } .resource-management-page__preview-modal-wrap--mobile .ant-modal { width: 100vw !important; max-width: 100vw; margin: 0; padding: 0; } .resource-management-page__preview-modal-wrap--mobile { position: fixed; inset: 0; overflow: hidden; overscroll-behavior: none; touch-action: none; contain: strict; isolation: isolate; } .resource-management-page__preview-modal-wrap--mobile.ant-modal-root { position: fixed; inset: 0; overflow: hidden; } .resource-management-page__preview-modal-wrap--mobile .ant-modal-mask, .resource-management-page__preview-modal-wrap--mobile .ant-modal-wrap { position: fixed; inset: 0; overflow: hidden; touch-action: none; overscroll-behavior: none; } .resource-management-page__preview-modal-wrap--mobile .ant-modal-wrap, .resource-management-page__preview-modal-wrap--mobile .ant-modal-body, .resource-management-page__preview-modal-shell .resource-management-page__text-preview, .resource-management-page__preview-modal-shell .resource-management-page__rich-preview { overscroll-behavior: none; -webkit-overflow-scrolling: auto; } .resource-management-page__preview-modal-wrap--mobile .ant-modal-content { display: flex; flex-direction: column; width: 100vw; border-radius: 0; height: 100vh; height: 100svh; min-height: 100vh; min-height: 100svh; background: #0b1220; padding: 0; overflow: hidden; overscroll-behavior: none; contain: strict; } .resource-management-page__preview-modal-wrap--mobile .ant-modal-header { padding: calc(12px + env(safe-area-inset-top, 0px)) 64px 12px 16px; margin-bottom: 0; background: #0b1220; } .resource-management-page__preview-modal-wrap--mobile .ant-modal-title { color: #f8fafc; } .resource-management-page__preview-modal-wrap--mobile .ant-modal-close { top: calc(8px + env(safe-area-inset-top, 0px)); right: 8px; width: 44px; height: 44px; color: #f8fafc; background: rgba(15, 23, 42, 0.92); border: 1px solid rgba(226, 232, 240, 0.22); border-radius: 999px; } .resource-management-page__preview-modal-wrap--mobile .ant-modal-close:hover, .resource-management-page__preview-modal-wrap--mobile .ant-modal-close:focus-visible { color: #ffffff; background: rgba(30, 41, 59, 0.98); } .resource-management-page__preview-modal-wrap--mobile .ant-modal-body { flex: 1 1 auto; height: calc(100vh - 56px) !important; height: calc(100svh - 56px) !important; min-height: 0; background: #0b1220; overflow: hidden; overscroll-behavior: none; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__preview-modal-shell .resource-management-page__preview-modal-body { padding: 0; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__preview-modal-shell, .resource-management-page__preview-modal-wrap--mobile .resource-management-page__preview-modal-body { overflow: hidden; overscroll-behavior: none; contain: strict; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__zoom-shell { border: 0; border-radius: 0; min-height: 100%; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__zoom-shell--image { padding: 0; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__rich-preview--markdown, .resource-management-page__preview-modal-wrap--mobile .resource-management-page__rich-preview--markdown { overscroll-behavior: none; -webkit-overflow-scrolling: auto; contain: strict; height: 100%; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__markdown-scroll-viewport { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__preview-frame, .resource-management-page__preview-modal-wrap--mobile .resource-management-page__video-preview, .resource-management-page__preview-modal-wrap--mobile .resource-management-page__image-preview { border: 0; border-radius: 0; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__preview-modal-toolbar { gap: 10px; padding-inline: 12px; min-height: 76px; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__preview-modal-toolbar .ant-btn { flex: 0 0 auto; } .resource-management-page__preview-modal-wrap--mobile .resource-management-page__preview-modal-toolbar-value { flex-basis: 52px; width: 52px; } }