.shell { height: 100dvh; min-height: 100dvh; display: grid; grid-template-rows: auto minmax(0, 1fr); background: var(--color-canvas); color: var(--color-text); } .body { --rail-width: 4.75rem; --sidebar-width: 16.75rem; --shell-top-left-radius: calc(var(--radius-xl) + var(--space-1)); --shell-frame-border: color-mix(in srgb, var(--color-border-strong) 44%, transparent); --shell-divider-border: color-mix(in srgb, var(--color-border-strong) 34%, transparent); --sidebar-panel-surface: color-mix(in srgb, var(--color-surface-muted) 92%, transparent); --workspace-panel-surface: color-mix(in srgb, var(--color-canvas) 94%, var(--color-surface)); min-height: 0; display: grid; grid-template-columns: var(--rail-width) minmax(0, 1fr); overflow: hidden; background: var(--color-surface); } .railColumn { min-height: 0; display: flex; position: relative; z-index: 1; background: var(--color-surface); } .workspaceRegion { position: relative; min-width: 0; min-height: 0; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); overflow: visible; z-index: 1; isolation: isolate; border-top-left-radius: var(--shell-top-left-radius); border-top-right-radius: 0; } .workspaceRegion::before { content: ""; position: absolute; inset: 0; background: linear-gradient( to right, var(--sidebar-panel-surface) 0, var(--sidebar-panel-surface) calc(var(--sidebar-width) - 0.5px), var(--workspace-panel-surface) calc(var(--sidebar-width) - 0.5px), var(--workspace-panel-surface) 100% ); border: 1px solid var(--shell-frame-border); border-top: 0; border-top-left-radius: var(--shell-top-left-radius); border-top-right-radius: 0; box-shadow: inset 0 1px 0 color-mix(in srgb, white 3%, transparent); pointer-events: none; z-index: 0; } .sidebarColumn { position: relative; min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr); overflow: visible; z-index: 1; background: var(--sidebar-panel-surface); border-top: 1px solid var(--shell-frame-border); border-left: 1px solid var(--shell-frame-border); border-top-left-radius: var(--shell-top-left-radius); } .workspaceMain { min-width: 0; min-height: 0; position: relative; overflow: hidden; z-index: 1; border-top: 1px solid var(--shell-frame-border); border-left: 1px solid var(--shell-divider-border); background: var(--workspace-panel-surface); border-top-right-radius: 0; } .sidebarDock { position: absolute; right: var(--space-1); bottom: var(--space-3); left: calc(var(--space-1) - (var(--rail-width) * 0.9)); z-index: calc(var(--z-modal) + 1); pointer-events: none; > * { pointer-events: auto; } } @include respond-up(mobile) { .body { --rail-width: 5rem; --sidebar-width: 17.25rem; } } @include respond-down(tablet) { .body { --rail-width: 4.5rem; --sidebar-width: 13.25rem; } } @include respond-down(mobile) { .body { grid-template-columns: 4.5rem minmax(0, 1fr); --rail-width: 4.5rem; } .railColumn { position: sticky; top: 0; } .workspaceRegion, .sidebarDock { display: none; } }