@import "variables"; html { height: 100%; background: var(--devcm-bg-deep); } body.devcm-body { height: 100vh; min-height: 0; background: radial-gradient(circle at 46% 0%, rgba(104, 243, 127, 0.11), transparent 28%), radial-gradient(circle at 85% 18%, rgba(255, 176, 0, 0.1), transparent 28%), linear-gradient(180deg, #090b09 0%, #050706 100%); color: var(--devcm-text); font-family: var(--devcm-mono); overflow: hidden; } body.devcm-body.pixel_style { --devcm-mono: Pixel, Monaco, Consolas, "Ubuntu Mono", PingHei, "PingFang SC", "Microsoft YaHei", monospace; font-family: var(--devcm-mono); } html[data-color-scheme="light"] body.devcm-body { background: #eee8d5; } html[data-color-scheme="light"] body.devcm-body::before { opacity: 0.34; background: repeating-linear-gradient( 0deg, rgba(147, 161, 161, 0.08) 0, rgba(147, 161, 161, 0.08) 1px, transparent 1px, transparent 28px ), repeating-linear-gradient( 90deg, rgba(147, 161, 161, 0.08) 0, rgba(147, 161, 161, 0.08) 1px, transparent 1px, transparent 28px ); mix-blend-mode: normal; } html[data-color-scheme="light"] body.devcm-body::after { opacity: 0; } body.devcm-body::before, body.devcm-body::after { content: ""; position: fixed; inset: 0; z-index: 50; pointer-events: none; } body.devcm-body::before { opacity: 0.16; background: repeating-linear-gradient( 0deg, rgba(255, 255, 255, 0.035) 0, rgba(255, 255, 255, 0.035) 1px, transparent 1px, transparent 3px ), repeating-linear-gradient( 90deg, rgba(255, 176, 0, 0.025) 0, rgba(255, 176, 0, 0.025) 1px, transparent 1px, transparent 28px ); mix-blend-mode: screen; } body.devcm-body::after { background: radial-gradient(ellipse at center, transparent 48%, rgba(0, 0, 0, 0.52) 100%); opacity: 0.62; } .devcm-shell { position: relative; z-index: 2; width: min(1720px, 100vw); height: 100vh; min-height: 0; margin: 0 auto; overflow: hidden; border-right: 1px solid rgba(255, 176, 0, 0.14); border-left: 1px solid rgba(255, 176, 0, 0.14); box-shadow: 0 0 54px rgba(0, 0, 0, 0.38); } html[data-color-scheme="light"] .devcm-shell { border-color: rgba(101, 123, 131, 0.18); box-shadow: none; } .devcm-app { display: grid; height: 100vh; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; background: linear-gradient(90deg, rgba(255, 176, 0, 0.04) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(180deg, rgba(255, 176, 0, 0.032) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(180deg, rgba(8, 10, 8, 0.98), rgba(6, 8, 6, 0.98)); } html[data-color-scheme="light"] .devcm-app { background: linear-gradient(90deg, rgba(147, 161, 161, 0.12) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(180deg, rgba(147, 161, 161, 0.1) 1px, transparent 1px) 0 0 / 28px 28px, #fdf6e3; } .devcm-topbar { position: relative; z-index: 16; min-height: var(--devcm-topbar-height); padding: 18px 28px 0; border-bottom: 1px solid rgba(255, 176, 0, 0.22); background: linear-gradient(180deg, rgba(13, 13, 10, 0.96), rgba(8, 10, 8, 0.94)), radial-gradient(circle at 54% 12%, rgba(104, 243, 127, 0.12), transparent 28%); box-shadow: 0 12px 34px rgba(0, 0, 0, 0.2); } html[data-color-scheme="light"] .devcm-topbar { border-bottom-color: rgba(101, 123, 131, 0.22); background: #eee8d5; box-shadow: none; } .devcm-topbar__main { display: grid; grid-template-columns: max-content minmax(160px, 1fr) max-content; gap: 18px; align-items: center; } .devcm-brand { display: flex; min-width: 0; align-items: center; gap: 12px; color: var(--devcm-amber); text-decoration: none; } .devcm-brand__image, .devcm-brand__mark { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--devcm-line-strong); border-radius: 8px; background: rgba(255, 176, 0, 0.05); box-shadow: var(--devcm-shadow); } .devcm-brand__image { object-fit: contain; padding: 3px; } .devcm-brand__mark { display: grid; place-items: center; color: var(--devcm-amber); font-size: 10px; font-weight: 900; line-height: 0.83; text-align: center; text-shadow: 0 0 12px rgba(255, 176, 0, 0.5); } .devcm-brand__name { overflow: hidden; color: var(--devcm-amber); font-size: 29px; font-weight: 900; letter-spacing: 0; text-overflow: ellipsis; text-shadow: 0 0 18px rgba(255, 176, 0, 0.36); white-space: nowrap; } .devcm-prompt-stream { position: relative; z-index: 1; display: grid; min-height: 34px; min-width: 0; grid-template-columns: max-content minmax(0, 1fr); gap: 14px; align-items: center; overflow: visible; isolation: isolate; } .devcm-prompt-stream__name { color: var(--devcm-green); text-shadow: 0 0 12px rgba(104, 243, 127, 0.24); white-space: nowrap; } .devcm-prompt-stream__line { min-width: 0; opacity: 0.78; filter: drop-shadow(0 0 7px rgba(104, 243, 127, 0.18)); } .devcm-topbar__actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; } .devcm-icon-button { display: grid; flex: 0 0 34px; width: 34px; min-width: 34px; height: 34px; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--devcm-amber); cursor: pointer; font-size: 22px; line-height: 1; text-shadow: 0 0 14px rgba(255, 176, 0, 0.34); } .devcm-icon-button:hover { background: rgba(255, 176, 0, 0.08); box-shadow: inset 0 0 0 1px rgba(255, 176, 0, 0.24); } .devcm-workspace { display: grid; height: 100%; min-height: 0; grid-template-columns: var(--devcm-activity-width) var(--devcm-sidebar-width) minmax(640px, 1fr) var( --devcm-rightbar-width ); overflow: hidden; } .devcm-activity { display: flex; min-height: 0; flex-direction: column; align-items: center; gap: 0; padding: 20px 0 16px; border-right: 1px solid rgba(255, 176, 0, 0.18); background: rgba(5, 7, 5, 0.78); } .devcm-activity__group { display: flex; width: 100%; min-height: 0; flex-direction: column; align-items: center; gap: 12px; } .devcm-activity__group--down { margin-top: auto; } .devcm-activity__icon-bank { display: none; } .devcm-activity__button { position: relative; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid transparent; border-radius: 10px; color: rgba(255, 221, 142, 0.84); font-size: 21px; text-decoration: none; } .devcm-activity__button::after { content: attr(data-label); position: absolute; top: 50%; left: calc(100% + 10px); z-index: 40; padding: 5px 8px; border: 1px solid rgba(255, 176, 0, 0.28); border-radius: 6px; background: rgba(8, 10, 7, 0.96); box-shadow: 0 10px 28px rgba(0, 0, 0, 0.34); color: var(--devcm-amber); font-size: 12px; line-height: 1; opacity: 0; pointer-events: none; transform: translate(-4px, -50%); transition: opacity 0.15s ease, transform 0.15s ease; white-space: nowrap; } .devcm-activity__button:hover::after { opacity: 1; transform: translate(0, -50%); } .devcm-activity__button:hover, .devcm-activity__button--active { border-color: rgba(255, 176, 0, 0.35); background: rgba(255, 176, 0, 0.07); box-shadow: 0 0 16px rgba(255, 176, 0, 0.08); color: var(--devcm-amber); } .devcm-activity__button--active::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: -10px; width: 3px; border-radius: 999px; background: var(--devcm-amber); box-shadow: 0 0 16px rgba(255, 176, 0, 0.44); } .devcm-activity__spacer { flex: 1; } .devcm-sidebar, .devcm-rightbar { min-height: 0; overflow-x: hidden; overflow-y: auto; background: rgba(8, 10, 7, 0.78); overscroll-behavior: contain; } html[data-color-scheme="light"] .devcm-sidebar, html[data-color-scheme="light"] .devcm-rightbar { background: rgba(238, 232, 213, 0.72); } html[data-color-scheme="light"] .devcm-activity { border-right-color: rgba(101, 123, 131, 0.22); background: #eee8d5; } html[data-color-scheme="light"] .devcm-activity__button { color: #657b83; } html[data-color-scheme="light"] .devcm-activity__button:hover, html[data-color-scheme="light"] .devcm-activity__button--active { border-color: rgba(181, 137, 0, 0.34); background: rgba(181, 137, 0, 0.09); box-shadow: none; color: var(--devcm-amber); } .devcm-sidebar { padding: 18px 0 20px; border-right: 1px solid rgba(255, 176, 0, 0.18); } .devcm-rightbar { padding: 24px 16px 20px; border-left: 1px solid rgba(255, 176, 0, 0.18); background: linear-gradient(180deg, rgba(8, 10, 7, 0.84), rgba(5, 7, 5, 0.76)); } .devcm-rightbar--hidden { display: none; } .devcm-shell--page .devcm-workspace, .devcm-shell--links .devcm-workspace, .devcm-shell--moments .devcm-workspace { grid-template-columns: var(--devcm-activity-width) var(--devcm-sidebar-width) minmax(640px, 1fr); } .devcm-side-section { margin-bottom: 18px; padding: 0 18px 18px; border-bottom: 1px solid rgba(255, 176, 0, 0.16); } .devcm-side-section:last-child { border-bottom: 0; } .devcm-section-title, .devcm-widget__title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; color: var(--devcm-amber); font-size: 14px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; } .devcm-tree, .devcm-tree__nested { display: grid; gap: 6px; margin: 0; padding: 0; color: var(--devcm-muted); font-size: 14px; list-style: none; } .devcm-tree__nested { margin-left: 16px; padding-left: 9px; border-left: 1px dotted rgba(255, 176, 0, 0.14); } .devcm-tree-folder { display: grid; gap: 5px; } .devcm-tree-folder > summary { cursor: pointer; list-style: none; } .devcm-tree-folder > summary::-webkit-details-marker { display: none; } .devcm-tree-folder > summary:focus { outline: none; } .devcm-tree-folder > summary:focus-visible { box-shadow: inset 0 0 0 1px rgba(104, 243, 127, 0.36), 0 0 0 1px rgba(255, 176, 0, 0.22); } .devcm-tree-folder[open] > summary > .devcm-tree__chev { transform: rotate(90deg); } .devcm-tree__item { display: grid; min-height: 24px; grid-template-columns: 16px 18px minmax(0, 1fr) max-content; gap: 6px; align-items: center; padding: 2px 4px; border-radius: 6px; color: inherit; text-decoration: none; } .devcm-tree__icon { color: #cda44a; font-size: 15px; opacity: 0.82; } html[data-color-scheme="light"] .devcm-tree__icon { color: #657b83; } .devcm-tree__open { display: inline-flex; align-items: center; justify-content: center; color: var(--devcm-dim); font-size: 12px; text-decoration: none; } .devcm-tree__open i { font-size: 13px; } .devcm-tree__open:hover { color: var(--devcm-green); } .devcm-tree__item--external .devcm-tree__icon, .devcm-tree__open--external { color: var(--devcm-cyan); opacity: 0.92; } .devcm-tree__item--external:hover .devcm-tree__icon, .devcm-tree__open--external:hover { color: var(--devcm-green); } .devcm-tree__item:hover, .devcm-tree__item--root { background: rgba(255, 176, 0, 0.07); color: #f4d89c; } html[data-color-scheme="light"] .devcm-tree__item:hover, html[data-color-scheme="light"] .devcm-tree__item--root { background: rgba(181, 137, 0, 0.08); color: #586e75; } .devcm-tree__item--root { background: transparent; color: #e5c36c; font-weight: 800; } html[data-color-scheme="light"] .devcm-tree__item--root { background: transparent; color: #657b83; } .devcm-tree__chev { position: relative; display: inline-grid; width: 16px; height: 16px; place-items: center; color: var(--devcm-amber); opacity: 0.8; transition: transform 0.16s ease; } .devcm-tree__chev::before { content: ""; width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 5px solid currentColor; } .devcm-tree__item:not(.devcm-tree__item--folder) .devcm-tree__chev::before { width: 3px; height: 3px; border: 0; border-radius: 50%; background: currentColor; } .devcm-tree__count { color: #8a7c56; } .devcm-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; } .devcm-tag { display: inline-flex; min-height: 28px; align-items: center; padding: 4px 9px; border: 1px solid rgba(255, 176, 0, 0.16); border-radius: 7px; background: rgba(255, 176, 0, 0.05); color: #cdb37a; font-size: 13px; text-decoration: none; } html[data-color-scheme="light"] .devcm-tag { border-color: rgba(101, 123, 131, 0.22); background: rgba(238, 232, 213, 0.62); color: #657b83; } .devcm-tag:hover { border-color: rgba(255, 176, 0, 0.36); color: var(--devcm-amber); } .devcm-widget { position: relative; margin-bottom: 16px; padding: 14px; overflow: hidden; border: 1px solid rgba(255, 176, 0, 0.26); border-radius: 8px; background: linear-gradient(180deg, rgba(14, 16, 12, 0.96), rgba(9, 11, 8, 0.94)); box-shadow: var(--devcm-shadow); } html[data-color-scheme="light"] .devcm-widget { background: rgba(253, 246, 227, 0.88); } .devcm-widget::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255, 176, 0, 0.04), transparent 38%, rgba(104, 243, 127, 0.025)); opacity: 0.45; pointer-events: none; } .devcm-widget--empty { min-height: 112px; } .devcm-widget__body { min-height: 50px; } .devcm-widget > * { position: relative; z-index: 1; } .devcm-panel-list { display: grid; gap: 9px; } .devcm-panel-link { display: grid; gap: 3px; padding: 9px 0; border-bottom: 1px dashed rgba(255, 176, 0, 0.12); color: #cdb78b; font-size: 13px; text-decoration: none; } .devcm-panel-link:last-child { border-bottom: 0; } .devcm-panel-link:hover { color: var(--devcm-amber); } .devcm-panel-link strong { overflow: hidden; color: inherit; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; } .devcm-panel-link span { color: #8c7950; } html[data-color-scheme="light"] .devcm-panel-link { border-bottom-color: rgba(101, 123, 131, 0.16); color: #586e75; } html[data-color-scheme="light"] .devcm-panel-link span { color: #93a1a1; } .devcm-info-list { display: grid; gap: 10px; } .devcm-info-list__row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; color: #c9bb91; font-size: 13px; } html[data-color-scheme="light"] .devcm-info-list__row { color: #657b83; } .devcm-info-list__row strong { overflow: hidden; color: var(--devcm-green); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; } .devcm-statusbar { position: relative; z-index: 18; display: grid; box-sizing: border-box; height: var(--devcm-status-height); min-height: 0; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 18px; align-items: center; padding: 0 28px; border-top: 1px solid rgba(255, 176, 0, 0.2); background: rgba(5, 7, 5, 0.92); color: #b99f67; font-size: 13px; line-height: 1; backdrop-filter: blur(10px); } html[data-color-scheme="light"] .devcm-statusbar { border-top-color: rgba(101, 123, 131, 0.22); background: #eee8d5; color: #657b83; } .devcm-statusbar__left, .devcm-statusbar__right, .devcm-statusbar__center, .devcm-statusbar__beian { display: flex; height: 100%; min-width: 0; align-items: center; gap: 12px; line-height: 1; white-space: nowrap; } .devcm-statusbar span, .devcm-statusbar a { display: inline-flex; align-items: center; line-height: 1; } .devcm-statusbar__right { justify-content: flex-end; } .devcm-statusbar__center { justify-content: center; } .devcm-statusbar__beian { display: inline-flex; height: auto; justify-content: center; gap: 8px; padding: 0; font-size: inherit; } .devcm-statusbar__beian:empty { display: none; } .devcm-statusbar__beian img { display: inline-block; height: 1.2em; } .devcm-statusbar a { color: var(--devcm-amber); text-decoration: none; } .devcm-statusbar__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--devcm-green); box-shadow: 0 0 10px rgba(104, 243, 127, 0.6); } @media (max-width: 1320px) { :root { --devcm-sidebar-width: 250px; --devcm-rightbar-width: 270px; } .devcm-workspace { grid-template-columns: var(--devcm-activity-width) var(--devcm-sidebar-width) minmax(520px, 1fr) var( --devcm-rightbar-width ); } .devcm-shell--page .devcm-workspace, .devcm-shell--links .devcm-workspace, .devcm-shell--moments .devcm-workspace { grid-template-columns: var(--devcm-activity-width) var(--devcm-sidebar-width) minmax(520px, 1fr); } } @media (max-width: 1060px) { .devcm-workspace { align-content: stretch; grid-auto-rows: auto; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); } .devcm-workspace > .devcm-sidebar, .devcm-rightbar { display: none; } .devcm-activity { display: flex; flex-direction: row; grid-column: 1 / -1; align-items: center; justify-content: flex-start; gap: 10px; padding: 8px 12px; overflow-x: auto; border-right: 0; border-bottom: 1px solid rgba(255, 176, 0, 0.18); } .devcm-activity__group { width: auto; flex: 0 0 auto; flex-direction: row; gap: 10px; } .devcm-activity__group--down { margin-top: 0; margin-left: auto; } .devcm-activity__button { flex: 0 0 auto; } .devcm-activity__button::after { top: calc(100% + 8px); left: 50%; transform: translate(-50%, -4px); } .devcm-activity__button:hover::after { transform: translate(-50%, 0); } .devcm-activity__button--active::before { top: auto; right: 8px; bottom: 0; left: 8px; width: auto; height: 3px; } .devcm-activity__spacer { display: none; } } @media (max-width: 720px) { .devcm-topbar { min-height: auto; padding: 14px 12px 0; } .devcm-topbar__main { grid-template-columns: max-content minmax(0, 1fr) max-content; gap: 10px; } .devcm-prompt-stream { min-height: 30px; grid-template-columns: max-content minmax(24px, 1fr); gap: 8px; overflow: hidden; } .devcm-prompt-stream__name { font-size: 11px; } .devcm-brand { gap: 8px; } .devcm-brand__image, .devcm-brand__mark { width: 30px; height: 30px; border-radius: 7px; } .devcm-brand__name { font-size: 20px; } .devcm-workspace { grid-template-columns: minmax(0, 1fr); } .devcm-statusbar { height: auto; min-height: var(--devcm-status-height); align-content: center; grid-template-columns: 1fr; justify-items: center; gap: 4px; padding: 7px; } .devcm-statusbar__left, .devcm-statusbar__right, .devcm-statusbar__center { height: auto; justify-content: center; flex-wrap: wrap; } }