Files
ai-code-app/src/app/main/ResourceManagementPage.css

1600 lines
37 KiB
CSS

.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;
}
}