.console-v2 .firmware-workbench-layer { position: fixed; z-index: 5000; inset: 0; display: grid; place-items: center; padding: 68px 20px 20px; background: color-mix(in oklch, var(--background) 58%, transparent); backdrop-filter: blur(6px) saturate(.9); -webkit-backdrop-filter: blur(6px) saturate(.9); overscroll-behavior: contain; } .console-v2 .firmware-workbench-layer[hidden] { display: none !important; } .console-v2 .firmware-workbench-page { width: min(1180px, 100%); height: min(664px, 100%); min-height: 0; display: grid; grid-template-rows: 76px minmax(0, 1fr); overflow: hidden; color: var(--foreground); background: color-mix(in oklch, var(--card) 97%, var(--background)); border: 1px solid color-mix(in oklch, var(--primary) 18%, var(--border)); border-radius: 22px; box-shadow: 0 28px 70px color-mix(in oklch, var(--foreground) 22%, transparent), 0 4px 18px color-mix(in oklch, var(--primary) 10%, transparent), inset 0 1px 0 color-mix(in oklch, var(--primary-foreground) 85%, transparent); animation: firmware-workbench-enter 180ms ease-out both; } .console-v2 .firmware-workbench-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 18px 13px 20px; border-bottom: 1px solid color-mix(in oklch, var(--primary) 10%, var(--border)); background: color-mix(in oklch, var(--card) 85%, transparent); } .console-v2 .firmware-workbench-heading { min-width: 0; display: flex; align-items: center; gap: 12px; } .console-v2 .firmware-workbench-heading > span { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; color: var(--primary); background: color-mix(in oklch, var(--primary) 10%, var(--card)); border: 1px solid color-mix(in oklch, var(--primary) 22%, var(--border)); border-radius: 15px; } .console-v2 .firmware-workbench-heading svg { width: 24px; height: 24px; stroke-width: 1.8; } .console-v2 .firmware-workbench-heading h2 { margin: 0; color: var(--heading-foreground, var(--foreground)); font-size: 20px; line-height: 1.2; letter-spacing: -.025em; } .console-v2 #firmwareWorkbenchClose { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; padding: 0; color: var(--foreground); background: color-mix(in oklch, var(--card) 88%, var(--secondary)); border: 1px solid color-mix(in oklch, var(--primary) 13%, var(--border)); border-radius: 12px; cursor: pointer; } .console-v2 #firmwareWorkbenchClose:hover, .console-v2 #firmwareWorkbenchClose:focus-visible { color: var(--primary); background: var(--accent); outline: 3px solid color-mix(in oklch, var(--ring) 16%, transparent); } .console-v2 #firmwareWorkbenchClose svg { width: 18px; height: 18px; } .console-v2 .firmware-workbench-frame { width: 100%; height: 100%; display: block; border: 0; background: transparent; } @keyframes firmware-workbench-enter { from { opacity: 0; transform: translateY(8px) scale(.992); } to { opacity: 1; transform: none; } } @media (max-width: 760px) { .console-v2 .firmware-workbench-layer { padding: 54px 8px 8px; } .console-v2 .firmware-workbench-page { height: 100%; border-radius: 17px; grid-template-rows: 64px minmax(0, 1fr); } .console-v2 .firmware-workbench-header { padding: 9px 11px; } .console-v2 .firmware-workbench-heading > span { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; } .console-v2 .firmware-workbench-heading h2 { font-size: 17px; } }