126 lines
7.3 KiB
CSS
126 lines
7.3 KiB
CSS
/* Logical CSS pixels follow the current monitor DPI. Page height must never
|
|
reduce the font size; long pages scroll and narrower windows reflow. */
|
|
html.embedded #stage {
|
|
position: relative; left: 0; top: 0; min-height: 0;
|
|
transform: none; overflow: hidden;
|
|
}
|
|
html.embedded .workspace {
|
|
flex: 1; height: 100%; min-height: 0;
|
|
grid-template-columns: 112px minmax(0, 1fr);
|
|
gap: 30px; padding: 16px 20px 16px 18px;
|
|
}
|
|
html.embedded .main {
|
|
height: 100%; min-height: 0; min-width: 0;
|
|
padding: 8px 14px 24px 4px; overflow: auto; scrollbar-gutter: stable;
|
|
}
|
|
html.embedded .screen { min-height: 0; padding-bottom: 12px; }
|
|
html.embedded .rail {
|
|
min-height: 0; height: 100%; padding: 20px 10px 14px;
|
|
}
|
|
html.embedded .brand-logo { flex-shrink: 0; margin-bottom: 14px; }
|
|
html.embedded .nav {
|
|
flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden;
|
|
padding: 8px 0; scrollbar-width: thin;
|
|
}
|
|
html.embedded .nav-btn { flex-shrink: 0; }
|
|
html.embedded .nav-btn.active {
|
|
width: 88px; height: 71px; margin: 0; padding: 0;
|
|
flex-direction: column; justify-content: center; gap: 6px; border-radius: 18px;
|
|
}
|
|
html.embedded .nav-btn.active .nav-icon { flex: 0 0 42px; width: 42px; height: 42px; }
|
|
html.embedded .listener { flex-shrink: 0; margin-top: 12px; }
|
|
html.embedded .system-btn { flex-shrink: 0; margin-top: 16px; }
|
|
#stage .page-head { height: auto; min-height: 88px; flex-wrap: wrap; padding-bottom: 16px; }
|
|
#stage .page-head p { line-height: 1.5; }
|
|
#stage .head-actions, #stage .toolbar, #stage .task-actions,
|
|
#stage .queue-footer, #stage .archive-tools { flex-wrap: wrap; }
|
|
#stage .head-actions { gap: 10px; }
|
|
#stage .panel { min-width: 0; }
|
|
#stage .panel-title { height: auto; min-height: 32px; flex-wrap: wrap; gap: 10px; }
|
|
#stage :is(input, textarea, select, .input, .select, .textarea) { min-width: 0; max-width: 100%; }
|
|
#stage :is(.stack, .field, .row > *, .setting-line > *, .system-line > *) { min-width: 0; }
|
|
#stage :is(.setting-line, .system-line) { height: auto; min-height: 48px; flex-wrap: wrap; padding-block: 8px; }
|
|
#stage :is(.copy-block, .answer-block, .memory-copy, .db-message-bubble, .db-path) { overflow-wrap: anywhere; }
|
|
#stage .ai-profile { grid-template-columns: minmax(0, 1fr); }
|
|
#stage .ai-profile .ai-ball { display: none; }
|
|
#stage .ai-profile .preview-box { min-height: 100px; }
|
|
#stage .status-cells { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
|
|
#stage .status-cell { min-width: 0; height: auto; min-height: 74px; padding: 10px 14px; }
|
|
#stage .status-cell :is(strong, span) { overflow-wrap: anywhere; }
|
|
#stage .db-scroll { max-height: 600px; overflow: auto; }
|
|
#stage .queue-list, #stage .event-list, #stage .chat { max-height: 650px; overflow: auto; }
|
|
#stage .activity-strip { overflow-x: auto; }
|
|
#stage .form-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
|
|
#stage .ai-bottom, #stage .automation-mid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
#stage .system-top, #stage .system-mid { grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); }
|
|
#stage .toast { max-width: calc(100% - 32px); right: 16px; bottom: 16px; overflow-wrap: anywhere; }
|
|
|
|
/* Use the effective layout width after the user's UI-size preference. */
|
|
#stage[data-layout="compact"] :is(.auto-grid, .queue-view-grid, .archive-grid, .wechatdb-grid) {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto;
|
|
}
|
|
#stage[data-layout="compact"] :is(.auto-grid, .queue-view-grid, .archive-grid, .wechatdb-grid) > * {
|
|
grid-column: auto; grid-row: auto; min-height: 0;
|
|
}
|
|
#stage[data-layout="compact"] .ai-top { grid-template-columns: minmax(0, 1fr); }
|
|
#stage[data-layout="compact"] :is(.logs-grid, .automation-top) { grid-template-columns: minmax(0, 1fr); }
|
|
#stage[data-layout="compact"] .logs-grid > * { grid-column: auto; grid-row: auto; }
|
|
#stage[data-layout="compact"] .wave-ribbon { grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; padding-block: 14px; gap: 16px; }
|
|
|
|
#stage[data-layout="narrow"] .workspace {
|
|
grid-template-columns: 64px minmax(0, 1fr); gap: 10px; padding: 8px;
|
|
}
|
|
#stage[data-layout="narrow"] .rail { border-radius: 20px; padding: 10px 4px; }
|
|
#stage[data-layout="narrow"] .brand-logo { width: 38px; height: 38px; font-size: 22px; }
|
|
#stage[data-layout="narrow"] :is(.nav-btn, .nav-btn.active) { width: 52px; height: 66px; padding: 0; }
|
|
#stage[data-layout="narrow"] .nav-btn > span { font-size: 10px; }
|
|
#stage[data-layout="narrow"] :is(.nav-icon, .nav-btn.active .nav-icon) { width: 38px; height: 38px; flex-basis: 38px; }
|
|
#stage[data-layout="narrow"] .orb { width: 34px; height: 34px; }
|
|
#stage[data-layout="narrow"] .listener { padding: 8px 0; font-size: 11px; }
|
|
#stage[data-layout="narrow"] .system-btn { width: 40px; height: 40px; margin-top: 8px; }
|
|
#stage[data-layout="narrow"] .main { padding: 6px 8px 16px 0; }
|
|
#stage[data-layout="narrow"] .page-head h1 { font-size: 27px; }
|
|
#stage[data-layout="narrow"] .head-actions { width: 100%; }
|
|
#stage[data-layout="narrow"] .panel-pad { padding: 16px; }
|
|
#stage[data-layout="narrow"] :is(.auto-grid, .queue-view-grid, .archive-grid, .wechatdb-grid,
|
|
.ai-top, .ai-bottom, .ai-grid, .automation-top, .automation-mid, .logs-grid,
|
|
.log-mid, .system-top, .system-mid, .status-cells) {
|
|
grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; min-height: 0;
|
|
}
|
|
#stage[data-layout="narrow"] :is(.auto-grid, .queue-view-grid, .archive-grid, .wechatdb-grid,
|
|
.logs-grid, .ai-grid) > * { grid-column: auto; grid-row: auto; min-height: 0; }
|
|
#stage[data-layout="narrow"] .wave-ribbon {
|
|
height: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px 10px; gap: 16px;
|
|
}
|
|
#stage[data-layout="narrow"] .metric { min-width: 0; flex-wrap: wrap; gap: 8px; }
|
|
#stage[data-layout="narrow"] :is(.storage-grid, .knowledge, .wechat-graphic) {
|
|
display: flex; flex-wrap: wrap; gap: 14px;
|
|
}
|
|
#stage[data-layout="narrow"] :is(.auto-flow, .window-status, .health-rings, .storage-actions,
|
|
.task-head-meta, .tabs, .risk-tags, .answer-meta) { flex-wrap: wrap; height: auto; gap: 10px; }
|
|
#stage[data-layout="narrow"] .flow-step { flex: 1 1 90px; }
|
|
#stage[data-layout="narrow"] .auto-flow:before { display: none; }
|
|
#stage[data-layout="narrow"] .tool-grid { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
|
|
#stage[data-layout="narrow"] .maintenance { grid-template-columns: minmax(0, 1fr); }
|
|
|
|
/* Keep both navigation and stop/settings controls reachable on short displays. */
|
|
#stage[data-short="true"] .brand-logo { display: none; }
|
|
#stage[data-short="true"] .listener { display: flex; gap: 8px; margin-top: 8px; }
|
|
#stage[data-short="true"] .listener .orb { width: 22px; height: 22px; }
|
|
#stage[data-short="true"] .system-btn { margin-top: 6px; }
|
|
|
|
*::-webkit-scrollbar { width: 8px; height: 8px; }
|
|
*::-webkit-scrollbar-thumb { background: #bdc9df; border-radius: 8px; }
|
|
*::-webkit-scrollbar-track { background: transparent; }
|
|
|
|
#stage .log-mid > .panel > .row { flex-wrap: wrap; }
|
|
#stage .log-mid > .panel > .row > div { flex: 1 1 180px; }
|
|
#stage[data-layout="narrow"][data-short="true"] .listener { flex-direction: column; gap: 6px; }
|
|
#stage .exception-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); height: auto; gap: 12px; }
|
|
|
|
/* Offscreen list rows need no painting until they approach the scroll viewport. */
|
|
#stage :is(.queue-row, .event-row, .db-conversation, .db-account) {
|
|
content-visibility: auto;
|
|
contain-intrinsic-size: auto 72px;
|
|
}
|