/
vladlevin790
/
cpp-lab-2
Обзор
Документация
Войти
/
vladlevin790
/
cpp-lab-2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
web/styles/workbench.css
545 строк
11 KB
vladlevin790
init
05 май 2026, 21:32
05 май 2026, 21:32
3310cbd
Код
Авторство
О чём код?
/* Lab workbench redesign */ .lab-stage { grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 380px); align-items: start; gap: 18px; } .workbench-panel { min-width: 0; max-width: 100%; padding: 14px; overflow: hidden; border-radius: 6px; background: linear-gradient(180deg, rgba(13, 19, 45, 0.94), rgba(7, 10, 22, 0.9)); backdrop-filter: none; } [data-theme="light"] .workbench-panel { background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(239, 246, 255, 0.82)); } .workbench-panel .visual-head { align-items: center; margin-bottom: 12px; } .workbench-panel .visual-head h3 { font-size: 30px; letter-spacing: 0; } .workbench-toolbar { position: relative; top: auto; max-width: 100%; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; padding: 8px; border-radius: 4px; background: rgba(255, 255, 255, 0.035); box-shadow: none; backdrop-filter: none; overflow: hidden; } [data-theme="light"] .workbench-toolbar { background: rgba(17, 24, 39, 0.045); } .toolbar-structure { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; } .toolbar-value { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .toolbar-value .field { grid-column: 1 / -1; } .toolbar-demo { grid-template-columns: minmax(0, 1fr); } .toolbar-demo .button { width: 100%; } .workbench-toolbar .toolbar-group { min-width: 0; padding: 8px; border: 1px solid var(--border); border-radius: 4px; background: rgba(0, 0, 0, 0.12); } [data-theme="light"] .workbench-toolbar .toolbar-group { background: rgba(255, 255, 255, 0.58); } .workbench-toolbar .button, .workbench-toolbar input, .workbench-toolbar select { min-width: 0; border-radius: 4px; } .workbench-toolbar .button { min-height: 38px; padding: 8px 10px; font-size: 13px; line-height: 1.05; } .workbench-toolbar input, .workbench-toolbar select { min-height: 38px; padding: 8px 10px; } .command-dock { border-radius: 8px; backdrop-filter: none; box-shadow: 0 10px 34px rgba(0, 0, 0, 0.28); } .dock-link, .dock-button { border-radius: 5px; } .button:disabled { cursor: not-allowed; opacity: 0.45; transform: none; box-shadow: none; } .structure-scene { position: relative; height: clamp(390px, 54vh, 620px); min-height: 390px; padding: 8px; border-radius: 5px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025)); contain: layout paint; } [data-theme="light"] .structure-scene { background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.48)); } .scene-status { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 8px; letter-spacing: 0; } .structure-view, .visual-canvas { border-radius: 3px; } .visual-canvas { cursor: grab; touch-action: none; } .visual-canvas.is-panning { cursor: grabbing; } .canvas-tools { position: absolute; z-index: 3; right: 18px; top: 44px; display: inline-grid; grid-template-columns: 34px 58px 34px; gap: 4px; padding: 5px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 7px 2px 7px 2px; background: rgba(5, 8, 18, 0.72); box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22); } .canvas-tools button { min-height: 30px; border: 0; border-radius: 5px 1px 5px 1px; background: rgba(255, 255, 255, 0.08); color: var(--text); font-size: 12px; font-weight: 950; } .canvas-tools button:hover { background: rgba(103, 232, 249, 0.18); color: var(--cyan); } .lab-bottom-grid { min-width: 0; grid-template-columns: minmax(0, 1fr); align-self: start; align-content: start; gap: 10px; } .advanced-panel, .info-panel { padding: 10px; border-radius: 6px; box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18); backdrop-filter: none; } .lab-bottom-grid input, .lab-bottom-grid select, .lab-bottom-grid .button { min-height: 38px; border-radius: 5px; } .lab-bottom-grid .button { padding: 8px 10px; font-size: 13px; } .lab-bottom-grid .advanced-content { gap: 10px; margin-top: 10px; } .advanced-details summary strong { font-size: 18px; letter-spacing: 0; } .compact-grid-replace, .compact-grid-service { grid-template-columns: 1fr; } .stats-grid { grid-template-columns: 1fr 1fr; } .stat-card, .output-card, .ascii-pill { border-radius: 4px; } .stat-card { min-height: 66px; } .stat-card strong { font-size: 22px; letter-spacing: 0; } .workbench-output { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.75fr); gap: 10px; margin-top: 10px; } .workbench-output .output-card { min-height: 190px; max-height: none; } .operation-output-card .operation-log, .ascii-output-card .ascii-output { max-height: 290px; overflow: auto; padding-right: 4px; } .ascii-table { display: grid; gap: 3px; min-width: 420px; } .ascii-row { display: grid; grid-template-columns: 52px minmax(72px, 1fr) 64px 72px; gap: 8px; align-items: center; min-height: 30px; padding: 5px 8px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 3px; background: rgba(255, 255, 255, 0.04); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; } .ascii-head { color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; font-family: inherit; font-size: 10px; font-weight: 950; } .ascii-row strong { justify-self: start; color: var(--cyan); } .ascii-control strong { color: var(--yellow); } .ascii-out strong { color: var(--rose); } .operation-output-card .log-step { grid-template-columns: minmax(150px, 0.42fr) minmax(0, 1fr); } @media (max-width: 1180px) { .lab-stage { grid-template-columns: 1fr; } .lab-bottom-grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); } .workbench-toolbar, .workbench-output { grid-template-columns: 1fr 1fr; } } @media (max-width: 820px) { .workbench-toolbar, .workbench-output, .lab-bottom-grid, .toolbar-structure, .toolbar-value, .toolbar-algorithms, .toolbar-demo { grid-template-columns: 1fr; } .workbench-panel .visual-head { align-items: stretch; } .structure-scene { height: 380px; min-height: 380px; } } @media (max-width: 540px) { .workbench-panel, .advanced-panel, .info-panel { padding: 8px; border-radius: 4px; } .cinema-actions { grid-template-columns: 1fr; } .stats-grid { grid-template-columns: 1fr; } .structure-scene { height: 340px; min-height: 340px; } .canvas-tools { right: 12px; top: 66px; grid-template-columns: 30px 50px 30px; } } /* v9: workbench usability polish */ .workbench-panel { padding: 18px; border-radius: 26px; border: 1px solid rgba(255, 255, 255, 0.12); background: radial-gradient(circle at top center, rgba(34, 211, 238, 0.09), transparent 30%), linear-gradient(180deg, rgba(10, 15, 34, 0.96), rgba(7, 11, 22, 0.94)); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.30); } [data-theme="light"] .workbench-panel { background: radial-gradient(circle at top center, rgba(34, 211, 238, 0.08), transparent 28%), linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 246, 255, 0.96)); } .workbench-toolbar { gap: 12px; padding: 12px; border-radius: 18px; background: rgba(255, 255, 255, 0.04); } .workbench-toolbar .toolbar-group { padding: 12px; border-radius: 16px; background: rgba(3, 8, 20, 0.42); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); } [data-theme="light"] .workbench-toolbar .toolbar-group { background: rgba(255, 255, 255, 0.7); } .workbench-toolbar .button, .workbench-toolbar input, .workbench-toolbar select, .lab-bottom-grid input, .lab-bottom-grid select, .lab-bottom-grid .button { position: relative; z-index: 4; pointer-events: auto; } .workbench-toolbar input, .workbench-toolbar select, .lab-bottom-grid input, .lab-bottom-grid select { border-radius: 14px; border-color: rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03); } [data-theme="light"] .workbench-toolbar input, [data-theme="light"] .workbench-toolbar select, [data-theme="light"] .lab-bottom-grid input, [data-theme="light"] .lab-bottom-grid select { background: rgba(255, 255, 255, 0.92); } .workbench-toolbar input:focus, .workbench-toolbar select:focus, .lab-bottom-grid input:focus, .lab-bottom-grid select:focus { outline: none; border-color: rgba(34, 211, 238, 0.75); box-shadow: 0 0 0 4px rgba(34, 211, 238, 0.12); } .structure-scene { height: clamp(430px, 56vh, 680px); min-height: 430px; padding: 14px; border-radius: 22px; border: 1px solid rgba(255, 255, 255, 0.10); background: radial-gradient(circle at 50% -10%, rgba(34, 211, 238, 0.16), transparent 36%), linear-gradient(180deg, rgba(6, 11, 24, 0.94), rgba(8, 11, 21, 0.88)); } [data-theme="light"] .structure-scene { background: radial-gradient(circle at 50% -10%, rgba(34, 211, 238, 0.12), transparent 36%), linear-gradient(180deg, rgba(251, 254, 255, 0.98), rgba(240, 247, 255, 0.92)); } .canvas-tools { top: 56px; right: 20px; gap: 6px; padding: 6px; border-radius: 14px; background: rgba(8, 15, 32, 0.8); } .canvas-tools button { border-radius: 10px; } .recording-status, .output-card, .advanced-panel, .info-panel { border-radius: 20px; } .advanced-panel, .info-panel { padding: 14px; } @media (max-width: 1180px) { .workbench-toolbar { grid-template-columns: 1fr; } .toolbar-value, .toolbar-algorithms, .toolbar-demo, .toolbar-structure { grid-template-columns: 1fr 1fr; } .toolbar-value .field, .toolbar-demo .field { grid-column: 1 / -1; } } @media (max-width: 720px) { .toolbar-value, .toolbar-algorithms, .toolbar-demo, .toolbar-structure, .compact-grid-replace, .compact-grid-service, .stats-grid, .workbench-output { grid-template-columns: 1fr; } .workbench-panel, .advanced-panel, .info-panel { border-radius: 18px; } .structure-scene { height: clamp(360px, 46vh, 500px); min-height: 360px; padding: 12px; } .scene-status { font-size: 9px; } }